﻿// MT400




using Little.Soldier.SWIFT;
using Little.Soldier.SWIFT.Definition;
using System.ComponentModel;

namespace Little.Soldier.SWIFT.Messages.Category4
{
  public class MT400 : SwiftMessage
  {
    private static SwiftMessageDefinition MessageDefinition;
    private static SwiftTagDefinition U0002;
    private static SwiftTagSubItemDefinition U0003;
    private static SwiftTagDefinition U0004;
    private static SwiftTagSubItemDefinition U0005;
    private static SwiftTagChoiceDefinition U0006;
    private static SwiftTagDefinition U0007;
    private static SwiftTagSubItemDefinition U0008;
    private static SwiftTagSubItemDefinition U000E;
    private static SwiftTagDefinition U000F;
    private static SwiftTagSubItemDefinition U0010;
    private static SwiftTagSubItemDefinition U0011;
    private static SwiftTagSubItemDefinition U0012;
    private static SwiftTagDefinition U0013;
    private static SwiftTagSubItemDefinition U0014;
    private static SwiftTagSubItemDefinition U0015;
    private static SwiftTagSubItemDefinition U0016;
    private static SwiftTagSubItemDefinition U0017;
    private static SwiftTagSubItemDefinition U0018;
    private static SwiftTagDefinition U0019;
    private static SwiftTagSubItemDefinition U001A;
    private static SwiftTagSubItemDefinition U001B;
    private static SwiftTagSubItemDefinition U001C;
    private static SwiftTagChoiceDefinition U001D;
    private static SwiftTagDefinition U001E;
    private static SwiftTagSubItemDefinition U001F;
    private static SwiftTagSubItemDefinition U007F;
    private static SwiftTagDefinition U0080;
    private static SwiftTagSubItemDefinition U0081;
    private static SwiftTagSubItemDefinition U0082;
    private static SwiftTagChoiceDefinition U0083;
    private static SwiftTagDefinition U0084;
    private static SwiftTagSubItemDefinition U0086;
    private static SwiftTagSubItemDefinition U0087;
    private static SwiftTagDefinition U0088;
    private static SwiftTagSubItemDefinition U0089;
    private static SwiftTagSubItemDefinition U008A;
    private static SwiftTagDefinition U008B;
    private static SwiftTagSubItemDefinition U008C;
    private static SwiftTagSubItemDefinition U008D;
    private static SwiftTagChoiceDefinition U008E;
    private static SwiftTagDefinition U008F;
    private static SwiftTagSubItemDefinition U0090;
    private static SwiftTagSubItemDefinition U0091;
    private static SwiftTagDefinition U0092;
    private static SwiftTagSubItemDefinition U0093;
    private static SwiftTagSubItemDefinition U0094;
    private static SwiftTagDefinition U0095;
    private static SwiftTagSubItemDefinition U0096;
    private static SwiftTagSubItemDefinition U0097;
    private static SwiftTagChoiceDefinition U0098;
    private static SwiftTagDefinition U0099;
    private static SwiftTagSubItemDefinition U009A;
    private static SwiftTagSubItemDefinition U009B;
    private static SwiftTagDefinition U009C;
    private static SwiftTagSubItemDefinition U009D;
    private static SwiftTagSubItemDefinition U009E;
    private static SwiftTagChoiceDefinition U009F;
    private static SwiftTagDefinition U0001U0002;
    private static SwiftTagSubItemDefinition U0002U0002;
    private static SwiftTagSubItemDefinition U0003U0002;
    private static SwiftTagDefinition U0004U0002;
    private static SwiftTagSubItemDefinition U0005U0002;
    private static SwiftTagSubItemDefinition U0006U0002;
    private static SwiftTagDefinition U0007U0002;
    private static SwiftTagSubItemDefinition U0008U0002;
    private static SwiftTagSubItemDefinition U000EU0002;
    private static SwiftTagDefinition U000FU0002;
    private static SwiftTagDefinition U0010U0002;
    private static SwiftTagDefinition U0011U0002;

    [Description("Sending Bank’s TRN")]
    public Tag20 SendingBanksTRN_20
    {
      get
      {
        return new Tag20((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0002);
      }
    }

    [Description("Sending Bank’s TRN")]
    public Tag20 Tag20_SendingBanksTRN
    {
      get
      {
        return this.SendingBanksTRN_20;
      }
    }

    [Description("Related Reference")]
    public Tag21 RelatedReference_21
    {
      get
      {
        return new Tag21((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0004);
      }
    }

    [Description("Related Reference")]
    public Tag21 Tag21_RelatedReference
    {
      get
      {
        return this.RelatedReference_21;
      }
    }

    [Description("Amount Collected")]
    public Tag32B AmountCollected_32B
    {
      get
      {
        return new Tag32B((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0007);
      }
    }

    [Description("Amount Collected")]
    public Tag32B Tag32B_AmountCollected
    {
      get
      {
        return this.AmountCollected_32B;
      }
    }

    [Description("Amount Collected")]
    public Tag32A AmountCollected_32A
    {
      get
      {
        return new Tag32A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U000F);
      }
    }

    [Description("Amount Collected")]
    public Tag32A Tag32A_AmountCollected
    {
      get
      {
        return this.AmountCollected_32A;
      }
    }

    [Description("Amount Collected")]
    public Tag32K AmountCollected_32K
    {
      get
      {
        return new Tag32K((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0013);
      }
    }

    [Description("Amount Collected")]
    public Tag32K Tag32K_AmountCollected
    {
      get
      {
        return this.AmountCollected_32K;
      }
    }

    [Description("Proceeds Remitted")]
    public Tag33A ProceedsRemitted_33A
    {
      get
      {
        return new Tag33A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0019);
      }
    }

    [Description("Proceeds Remitted")]
    public Tag33A Tag33A_ProceedsRemitted
    {
      get
      {
        return this.ProceedsRemitted_33A;
      }
    }

    [Description("Ordering Bank")]
    public Tag52A OrderingBank_52A
    {
      get
      {
        return new Tag52A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U001E);
      }
    }

    [Description("Ordering Bank")]
    public Tag52A Tag52A_OrderingBank
    {
      get
      {
        return this.OrderingBank_52A;
      }
    }

    [Description("Ordering Bank")]
    public Tag52D OrderingBank_52D
    {
      get
      {
        return new Tag52D((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0080);
      }
    }

    [Description("Ordering Bank")]
    public Tag52D Tag52D_OrderingBank
    {
      get
      {
        return this.OrderingBank_52D;
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53A SendersCorrespondent_53A
    {
      get
      {
        return new Tag53A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0084);
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53A Tag53A_SendersCorrespondent
    {
      get
      {
        return this.SendersCorrespondent_53A;
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53B SendersCorrespondent_53B
    {
      get
      {
        return new Tag53B((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0088);
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53B Tag53B_SendersCorrespondent
    {
      get
      {
        return this.SendersCorrespondent_53B;
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53D SendersCorrespondent_53D
    {
      get
      {
        return new Tag53D((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U008B);
      }
    }

    [Description("Sender’s Correspondent")]
    public Tag53D Tag53D_SendersCorrespondent
    {
      get
      {
        return this.SendersCorrespondent_53D;
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54A ReceiversCorrespondent_54A
    {
      get
      {
        return new Tag54A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U008F);
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54A Tag54A_ReceiversCorrespondent
    {
      get
      {
        return this.ReceiversCorrespondent_54A;
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54B ReceiversCorrespondent_54B
    {
      get
      {
        return new Tag54B((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0092);
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54B Tag54B_ReceiversCorrespondent
    {
      get
      {
        return this.ReceiversCorrespondent_54B;
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54D ReceiversCorrespondent_54D
    {
      get
      {
        return new Tag54D((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0095);
      }
    }

    [Description("Receiver’s Correspondent")]
    public Tag54D Tag54D_ReceiversCorrespondent
    {
      get
      {
        return this.ReceiversCorrespondent_54D;
      }
    }

    [Description("Account With Bank")]
    public Tag57A AccountWithBank_57A
    {
      get
      {
        return new Tag57A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0099);
      }
    }

    [Description("Account With Bank")]
    public Tag57A Tag57A_AccountWithBank
    {
      get
      {
        return this.AccountWithBank_57A;
      }
    }

    [Description("Account With Bank")]
    public Tag57D AccountWithBank_57D
    {
      get
      {
        return new Tag57D((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U009C);
      }
    }

    [Description("Account With Bank")]
    public Tag57D Tag57D_AccountWithBank
    {
      get
      {
        return this.AccountWithBank_57D;
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58A BeneficiaryBank_58A
    {
      get
      {
        return new Tag58A((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0001U0002);
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58A Tag58A_BeneficiaryBank
    {
      get
      {
        return this.BeneficiaryBank_58A;
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58B BeneficiaryBank_58B
    {
      get
      {
        return new Tag58B((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0004U0002);
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58B Tag58B_BeneficiaryBank
    {
      get
      {
        return this.BeneficiaryBank_58B;
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58D BeneficiaryBank_58D
    {
      get
      {
        return new Tag58D((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0007U0002);
      }
    }

    [Description("Beneficiary Bank")]
    public Tag58D Tag58D_BeneficiaryBank
    {
      get
      {
        return this.BeneficiaryBank_58D;
      }
    }

    [Description("Details of Charges")]
    public Tag71B DetailsOfCharges_71B
    {
      get
      {
        return new Tag71B((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U000FU0002);
      }
    }

    [Description("Details of Charges")]
    public Tag71B Tag71B_DetailsOfCharges
    {
      get
      {
        return this.DetailsOfCharges_71B;
      }
    }

    [Description("SenderTo Receiver Information")]
    public Tag72 SenderToReceiverInformation_72
    {
      get
      {
        return new Tag72((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0010U0002);
      }
    }

    [Description("SenderTo Receiver Information")]
    public Tag72 Tag72_SenderToReceiverInformation
    {
      get
      {
        return this.SenderToReceiverInformation_72;
      }
    }

    [Description("Details of Amounts Added")]
    public Tag73 DetailsOfAmountsAdded_73
    {
      get
      {
        return new Tag73((SwiftElement) this, 0, (SwiftDefinitionElement) MT400.U0011U0002);
      }
    }

    [Description("Details of Amounts Added")]
    public Tag73 Tag73_DetailsOfAmountsAdded
    {
      get
      {
        return this.DetailsOfAmountsAdded_73;
      }
    }

    public MT400()
      : base(true)
    {
    }

    public MT400(SwiftMessage message)
      : base(message)
    {
    }

    internal override SwiftMessageDefinition MsgDefinition()
    {
      return MT400.MessageDefinition;
    }

    protected override void InitSwiftMessageDefinition()
    {
      MT400.MessageDefinition = new SwiftMessageDefinition("MT400", "");
      MT400.U0002 = new SwiftTagDefinition("SendingBanksTRN_20", "Sending Bank’s TRN");
      MT400.U0002.TagName = ":20:";
      MT400.U0003 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT400.U0002.Elements.Add((SwiftDefinitionElement) MT400.U0003);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0002);
      MT400.U0004 = new SwiftTagDefinition("RelatedReference_21", "Related Reference");
      MT400.U0004.TagName = ":21:";
      MT400.U0005 = new SwiftTagSubItemDefinition("Reference", "Reference");
      MT400.U0004.Elements.Add((SwiftDefinitionElement) MT400.U0005);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0004);
      MT400.U0006 = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U0006.Multiple = true;
      MT400.U0007 = new SwiftTagDefinition("AmountCollected_32B", "Amount Collected");
      MT400.U0007.TagName = ":32B:";
      MT400.U0008 = new SwiftTagSubItemDefinition("Currency", "Currency");
      MT400.U0007.Elements.Add((SwiftDefinitionElement) MT400.U0008);
      MT400.U000E = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT400.U0007.Elements.Add((SwiftDefinitionElement) MT400.U000E);
      MT400.U0006.Elements.Add((SwiftDefinitionElement) MT400.U0007);
      MT400.U000F = new SwiftTagDefinition("AmountCollected_32A", "Amount Collected");
      MT400.U000F.TagName = ":32A:";
      MT400.U0010 = new SwiftTagSubItemDefinition("Date", "Date");
      MT400.U000F.Elements.Add((SwiftDefinitionElement) MT400.U0010);
      MT400.U0011 = new SwiftTagSubItemDefinition("Currency", "Currency");
      MT400.U000F.Elements.Add((SwiftDefinitionElement) MT400.U0011);
      MT400.U0012 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT400.U000F.Elements.Add((SwiftDefinitionElement) MT400.U0012);
      MT400.U0006.Elements.Add((SwiftDefinitionElement) MT400.U000F);
      MT400.U0013 = new SwiftTagDefinition("AmountCollected_32K", "Amount Collected");
      MT400.U0013.TagName = ":32K:";
      MT400.U0014 = new SwiftTagSubItemDefinition("DayMonth", "Day or Month");
      MT400.U0013.Elements.Add((SwiftDefinitionElement) MT400.U0014);
      MT400.U0015 = new SwiftTagSubItemDefinition("NumberOfDaysMonths", "Number of Days/Months");
      MT400.U0013.Elements.Add((SwiftDefinitionElement) MT400.U0015);
      MT400.U0016 = new SwiftTagSubItemDefinition("Code", "Code");
      MT400.U0013.Elements.Add((SwiftDefinitionElement) MT400.U0016);
      MT400.U0017 = new SwiftTagSubItemDefinition("Currency", "Currency");
      MT400.U0013.Elements.Add((SwiftDefinitionElement) MT400.U0017);
      MT400.U0018 = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT400.U0013.Elements.Add((SwiftDefinitionElement) MT400.U0018);
      MT400.U0006.Elements.Add((SwiftDefinitionElement) MT400.U0013);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0006);
      MT400.U0019 = new SwiftTagDefinition("ProceedsRemitted_33A", "Proceeds Remitted");
      MT400.U0019.TagName = ":33A:";
      MT400.U001A = new SwiftTagSubItemDefinition("Date", "Date");
      MT400.U0019.Elements.Add((SwiftDefinitionElement) MT400.U001A);
      MT400.U001B = new SwiftTagSubItemDefinition("Currency", "Currency");
      MT400.U0019.Elements.Add((SwiftDefinitionElement) MT400.U001B);
      MT400.U001C = new SwiftTagSubItemDefinition("Amount", "Amount");
      MT400.U0019.Elements.Add((SwiftDefinitionElement) MT400.U001C);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0019);
      MT400.U001D = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U001D.Mandatory = false;
      MT400.U001D.Multiple = true;
      MT400.U001E = new SwiftTagDefinition("OrderingBank_52A", "Ordering Bank");
      MT400.U001E.TagName = ":52A:";
      MT400.U001F = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U001F.Mandatory = false;
      MT400.U001E.Elements.Add((SwiftDefinitionElement) MT400.U001F);
      MT400.U007F = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT400.U001E.Elements.Add((SwiftDefinitionElement) MT400.U007F);
      MT400.U001D.Elements.Add((SwiftDefinitionElement) MT400.U001E);
      MT400.U0080 = new SwiftTagDefinition("OrderingBank_52D", "Ordering Bank");
      MT400.U0080.TagName = ":52D:";
      MT400.U0081 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0081.Mandatory = false;
      MT400.U0080.Elements.Add((SwiftDefinitionElement) MT400.U0081);
      MT400.U0082 = new SwiftTagSubItemDefinition("NameAndAddress", "Name And Address");
      MT400.U0080.Elements.Add((SwiftDefinitionElement) MT400.U0082);
      MT400.U001D.Elements.Add((SwiftDefinitionElement) MT400.U0080);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U001D);
      MT400.U0083 = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U0083.Mandatory = false;
      MT400.U0083.Multiple = true;
      MT400.U0084 = new SwiftTagDefinition("SendersCorrespondent_53A", "Sender’s Correspondent");
      MT400.U0084.TagName = ":53A:";
      MT400.U0086 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0086.Mandatory = false;
      MT400.U0084.Elements.Add((SwiftDefinitionElement) MT400.U0086);
      MT400.U0087 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT400.U0084.Elements.Add((SwiftDefinitionElement) MT400.U0087);
      MT400.U0083.Elements.Add((SwiftDefinitionElement) MT400.U0084);
      MT400.U0088 = new SwiftTagDefinition("SendersCorrespondent_53B", "Sender’s Correspondent");
      MT400.U0088.TagName = ":53B:";
      MT400.U0089 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0089.Mandatory = false;
      MT400.U0088.Elements.Add((SwiftDefinitionElement) MT400.U0089);
      MT400.U008A = new SwiftTagSubItemDefinition("Location", "Location");
      MT400.U008A.Mandatory = false;
      MT400.U0088.Elements.Add((SwiftDefinitionElement) MT400.U008A);
      MT400.U0083.Elements.Add((SwiftDefinitionElement) MT400.U0088);
      MT400.U008B = new SwiftTagDefinition("SendersCorrespondent_53D", "Sender’s Correspondent");
      MT400.U008B.TagName = ":53D:";
      MT400.U008C = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U008C.Mandatory = false;
      MT400.U008B.Elements.Add((SwiftDefinitionElement) MT400.U008C);
      MT400.U008D = new SwiftTagSubItemDefinition("NameAndAddress", "Name And Address");
      MT400.U008B.Elements.Add((SwiftDefinitionElement) MT400.U008D);
      MT400.U0083.Elements.Add((SwiftDefinitionElement) MT400.U008B);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0083);
      MT400.U008E = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U008E.Mandatory = false;
      MT400.U008E.Multiple = true;
      MT400.U008F = new SwiftTagDefinition("ReceiversCorrespondent_54A", "Receiver’s Correspondent");
      MT400.U008F.TagName = ":54A:";
      MT400.U0090 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0090.Mandatory = false;
      MT400.U008F.Elements.Add((SwiftDefinitionElement) MT400.U0090);
      MT400.U0091 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT400.U008F.Elements.Add((SwiftDefinitionElement) MT400.U0091);
      MT400.U008E.Elements.Add((SwiftDefinitionElement) MT400.U008F);
      MT400.U0092 = new SwiftTagDefinition("ReceiversCorrespondent_54B", "Receiver’s Correspondent");
      MT400.U0092.TagName = ":54B:";
      MT400.U0093 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0093.Mandatory = false;
      MT400.U0092.Elements.Add((SwiftDefinitionElement) MT400.U0093);
      MT400.U0094 = new SwiftTagSubItemDefinition("Location", "Location");
      MT400.U0094.Mandatory = false;
      MT400.U0092.Elements.Add((SwiftDefinitionElement) MT400.U0094);
      MT400.U008E.Elements.Add((SwiftDefinitionElement) MT400.U0092);
      MT400.U0095 = new SwiftTagDefinition("ReceiversCorrespondent_54D", "Receiver’s Correspondent");
      MT400.U0095.TagName = ":54D:";
      MT400.U0096 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0096.Mandatory = false;
      MT400.U0095.Elements.Add((SwiftDefinitionElement) MT400.U0096);
      MT400.U0097 = new SwiftTagSubItemDefinition("NameAndAddress", "Name And Address");
      MT400.U0095.Elements.Add((SwiftDefinitionElement) MT400.U0097);
      MT400.U008E.Elements.Add((SwiftDefinitionElement) MT400.U0095);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U008E);
      MT400.U0098 = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U0098.Mandatory = false;
      MT400.U0098.Multiple = true;
      MT400.U0099 = new SwiftTagDefinition("AccountWithBank_57A", "Account With Bank");
      MT400.U0099.TagName = ":57A:";
      MT400.U009A = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U009A.Mandatory = false;
      MT400.U0099.Elements.Add((SwiftDefinitionElement) MT400.U009A);
      MT400.U009B = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT400.U0099.Elements.Add((SwiftDefinitionElement) MT400.U009B);
      MT400.U0098.Elements.Add((SwiftDefinitionElement) MT400.U0099);
      MT400.U009C = new SwiftTagDefinition("AccountWithBank_57D", "Account With Bank");
      MT400.U009C.TagName = ":57D:";
      MT400.U009D = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U009D.Mandatory = false;
      MT400.U009C.Elements.Add((SwiftDefinitionElement) MT400.U009D);
      MT400.U009E = new SwiftTagSubItemDefinition("NameAndAddress", "Name And Address");
      MT400.U009C.Elements.Add((SwiftDefinitionElement) MT400.U009E);
      MT400.U0098.Elements.Add((SwiftDefinitionElement) MT400.U009C);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0098);
      MT400.U009F = new SwiftTagChoiceDefinition("Choice", "");
      MT400.U009F.Mandatory = false;
      MT400.U009F.Multiple = true;
      MT400.U0001U0002 = new SwiftTagDefinition("BeneficiaryBank_58A", "Beneficiary Bank");
      MT400.U0001U0002.TagName = ":58A:";
      MT400.U0002U0002 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0002U0002.Mandatory = false;
      MT400.U0001U0002.Elements.Add((SwiftDefinitionElement) MT400.U0002U0002);
      MT400.U0003U0002 = new SwiftTagSubItemDefinition("BankIdentifierCode", "Bank Identifier Code");
      MT400.U0001U0002.Elements.Add((SwiftDefinitionElement) MT400.U0003U0002);
      MT400.U009F.Elements.Add((SwiftDefinitionElement) MT400.U0001U0002);
      MT400.U0004U0002 = new SwiftTagDefinition("BeneficiaryBank_58B", "Beneficiary Bank");
      MT400.U0004U0002.TagName = ":58B:";
      MT400.U0005U0002 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0005U0002.Mandatory = false;
      MT400.U0004U0002.Elements.Add((SwiftDefinitionElement) MT400.U0005U0002);
      MT400.U0006U0002 = new SwiftTagSubItemDefinition("Location", "Location");
      MT400.U0006U0002.Mandatory = false;
      MT400.U0004U0002.Elements.Add((SwiftDefinitionElement) MT400.U0006U0002);
      MT400.U009F.Elements.Add((SwiftDefinitionElement) MT400.U0004U0002);
      MT400.U0007U0002 = new SwiftTagDefinition("BeneficiaryBank_58D", "Beneficiary Bank");
      MT400.U0007U0002.TagName = ":58D:";
      MT400.U0008U0002 = new SwiftTagSubItemDefinition("PartyIdentifier", "Party Identifier");
      MT400.U0008U0002.Mandatory = false;
      MT400.U0007U0002.Elements.Add((SwiftDefinitionElement) MT400.U0008U0002);
      MT400.U000EU0002 = new SwiftTagSubItemDefinition("NameAndAddress", "Name And Address");
      MT400.U0007U0002.Elements.Add((SwiftDefinitionElement) MT400.U000EU0002);
      MT400.U009F.Elements.Add((SwiftDefinitionElement) MT400.U0007U0002);
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U009F);
      MT400.U000FU0002 = new SwiftTagDefinition("DetailsOfCharges_71B", "Details of Charges");
      MT400.U000FU0002.TagName = ":71B:";
      MT400.U000FU0002.Mandatory = false;
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U000FU0002);
      MT400.U0010U0002 = new SwiftTagDefinition("SenderToReceiverInformation_72", "SenderTo Receiver Information");
      MT400.U0010U0002.TagName = ":72:";
      MT400.U0010U0002.Mandatory = false;
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0010U0002);
      MT400.U0011U0002 = new SwiftTagDefinition("DetailsOfAmountsAdded_73", "Details of Amounts Added");
      MT400.U0011U0002.TagName = ":73:";
      MT400.U0011U0002.Mandatory = false;
      MT400.MessageDefinition.Elements.Add((SwiftDefinitionElement) MT400.U0011U0002);
    }
  }
}
